﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CMS_GYM.Interface
{
    public partial class frmDanhMucSanCau : frmTemplete1
    {
        clsSanCauBUS SanCauBUS = new clsSanCauBUS();
        int IDSanCau;
        bool InsertFlag = false;
        public frmDanhMucSanCau()
        {
            InitializeComponent();
            lblTitle.Text = "DANH MỤC SÂN CẦU LÔNG";
            uct_Reset.Reset.Click += new EventHandler(btn_Reset_Click);
            uct_Save.Save.Click += new EventHandler(btn_Save_Click);
            uct_Delete.Delete.Click += new EventHandler(btn_Delete_Click);
            uct_Refresh.Refresh.Click += new EventHandler(btn_Refresh_Click);
            LoadData();
        }

        #region Functions

        private void SetPermission()
        {
            uct_Reset.Enabled = clsUser.LayThongTinPhanQuyen("SanCau").ChucNang.Them;
            uct_Save.Enabled = clsUser.LayThongTinPhanQuyen("SanCau").ChucNang.Sua;
            uct_Delete.Enabled = clsUser.LayThongTinPhanQuyen("SanCau").ChucNang.Xoa;
        }

        #region LoadData()
        public void LoadData()
        {
            dtg_Data.Rows.Clear();
            DataTable dt = SanCauBUS.LayBang();
            foreach (DataRow dr in dt.Rows)
            {
                dtg_Data.Rows.Add(new object[] { dr["SanCauId"], dr["MaSanCau"], dr["TenSanCau"], dr["MoTa"] });
            }
        }
        #endregion

        #region ClearData()
        public void ClearData()
        {
            txtMaSanCauLong.Text = string.Empty;
            txtTenSanCauLong.Text = string.Empty;
            txtMoTa.Text = string.Empty;
            txtID.Text = string.Empty;
        }
        #endregion

        #region FillData(clsSanCauDTO SanCauDTO)
        public void FillData(clsSanCauDTO SanCauDTO)
        {
            txtMaSanCauLong.Text = SanCauDTO.MaSanCau;
            txtTenSanCauLong.Text = SanCauDTO.TenSanCau;
            txtMoTa.Text = SanCauDTO.MoTa;
            txtID.Text = IDSanCau.ToString();
        }
        #endregion

        #region LayThongTinSanCau(int SanCauId)
        public void LayThongTinSanCau(int SanCauId)
        {
            try
            {
                clsSanCauDTO SanCauDTO = SanCauBUS.LayThongTinSanCau(SanCauId);
                FillData(SanCauDTO);
            }
            catch { }
        }
        #endregion

        #endregion


        #region btn_Reset_Click(object sender, EventArgs e)
        private void btn_Reset_Click(object sender, EventArgs e)
        {
            ClearData();
            txtMaSanCauLong.Focus();
            InsertFlag = true;
        }
        #endregion

        #region btn_Save_Click(object sender, EventArgs e)
        private void btn_Save_Click(object sender, EventArgs e)
        {
            if (InsertFlag)
            {
                if (MessageBox.Show("Xác nhận thêm dữ liệu?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.No)
                    return;
                if (txtMaSanCauLong.Text == string.Empty || txtTenSanCauLong.Text == string.Empty)
                {
                    MessageBox.Show("Kiểm tra dữ liệu nhập vào", "Thông báo");
                    return;
                }
                clsSanCauDTO SanCauDTO = new clsSanCauDTO();
                SanCauDTO.SanCauId = IDSanCau;
                SanCauDTO.MaSanCau = txtMaSanCauLong.Text;
                SanCauDTO.TenSanCau = txtTenSanCauLong.Text;
                SanCauDTO.MoTa = txtMoTa.Text;

                int i = SanCauBUS.Them(SanCauDTO);
                if (i == 1)
                {
                    MessageBox.Show("Thêm dữ liệu thành công", "Thông báo");
                    LoadData();
                    InsertFlag = false;
                }
                else
                    MessageBox.Show("Lỗi thêm dữ liệu", "Thông báo");
                InsertFlag = false;
                return;
            }
            if (IDSanCau == 0) return;
            if (MessageBox.Show("Xác nhận cập nhật dữ liệu?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
            {
                clsSanCauDTO SanCauDTO = new clsSanCauDTO();
                SanCauDTO.SanCauId = IDSanCau;
                SanCauDTO.MaSanCau = txtMaSanCauLong.Text;
                SanCauDTO.TenSanCau = txtTenSanCauLong.Text;
                SanCauDTO.MoTa = txtMoTa.Text;

                int i = SanCauBUS.Sua(SanCauDTO);
                if (i == 1)
                {
                    MessageBox.Show("Cập nhật dữ liệu thành công", "Thông báo");
                }
                else
                    MessageBox.Show("Lỗi cập nhật dữ liệu", "Thông báo");
                LoadData();
            }
        }
        #endregion

        #region btn_Delete_Click(object sender, EventArgs e)
        private void btn_Delete_Click(object sender, EventArgs e)
        {
            if (IDSanCau == 0) return;
            if (MessageBox.Show("Xác nhận xóa dữ liệu?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
            {
                int i = SanCauBUS.Xoa(IDSanCau);
                if (i == 1)
                {
                    MessageBox.Show("Xóa dữ liệu thành công", "Thông báo");
                }
                else
                    MessageBox.Show("Lỗi xóa dữ liệu", "Thông báo");
                LoadData();
            }
        }
        #endregion

        #region btn_Refresh_Click(object sender, EventArgs e)
        private void btn_Refresh_Click(object sender, EventArgs e)
        {
            LoadData();
        }
        #endregion

        private void dtg_Data_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                IDSanCau = int.Parse(dtg_Data.SelectedRows[0].Cells["SanCauId"].Value.ToString());
                LayThongTinSanCau(int.Parse(dtg_Data.SelectedRows[0].Cells["SanCauId"].Value.ToString()));
            }
            catch { }
        }

        private void frmDanhMucSanCau_Load(object sender, EventArgs e)
        {
            try
            {
                SetPermission();
            }
            catch { }
        }
    }
}
